package main

import "fmt"

// 分析斐波那契数列递推公式递归版本的问题，试着为该函数提供一个Cache，使其计算效率提升
func fibCache(n int) int {
	cache := make(map[int]int, n)
	if n < 3 {
		return 1
	}
	if v, ok := cache[n]; ok {
		return v
	}
	cache[n] = fibCache(n-1) + fibCache(n-2)
	return cache[n]
}

func main() {
	fmt.Printf("斐波那契缓存版: %d", fibCache(10))
}
